package com.pai4j.common.exception;
import com.pai4j.common.enums.PAIErrorCommonEnum;
/**
 * NotFoundException类用于处理未找到资源的异常情况
 * 它继承自RuntimeException，允许在运行时抛出，无需显式声明或捕获
 *
 * @author: CYM-pai
 * @date: 2025/04/16 19:53
 **/
public class NotFoundException extends RuntimeException {

    // 默认的状态码为404，表示未找到资源
    private Integer code = 404;

    // 默认构造函数
    public NotFoundException() {
        super();
    }

    // 带有错误消息的构造函数
    public NotFoundException(String msg) {
        super(msg);
    }

    // 带有PAIErrorCommonEnum枚举类型的构造函数，用于处理通用错误枚举
    public NotFoundException(PAIErrorCommonEnum paiErrorCommonEnum) {
        super(paiErrorCommonEnum.getMessage());
        this.code = paiErrorCommonEnum.getCode();
    }

    // 带有自定义状态码和错误消息的构造函数
    public NotFoundException(Integer code, String msg) {
        super(msg);
        this.code = code;
    }

    // 带有错误消息和异常原因的构造函数
    public NotFoundException(String message, Throwable cause) {
        super(message, cause);
    }

    // 获取状态码的方法
    public Integer getCode() {
        return code;
    }
}
